Multimodal aggregating unit

ABSTRACT

In a voice processing system, a multimodal request is received from a plurality of modality input devices, and the requested application is run to provide a user with the feedback of the multimodal request. In the voice processing system, a multimodal aggregating unit is provided which receives a multimodal input from a plurality of modality input devices, and provides an aggregated result to an application control based on the interpretation of the interaction ergonomics of the multimodal input within the temporal constraints of the multimodal input. Thus, the multimodal input from the user is recognized within a temporal window. Interpretation of the interaction ergonomics of the multimodal input include interpretation of interaction biometrics and interaction mechani-metrics, wherein the interaction input of at least one modality may be used to bring meaning to at least one other input of another modality.

FIELD OF THE INVENTION

The present invention relates generally to a voice processing system, and more particularly, to aggregating a plurality of modalities in a voice processing system.

BACKGROUND

With recent progress in the data processing technology, more systems are made which take into account user ergonomics. That is, more systems are made available which adjust to the user's environment, or adapt to various conditions that suit the user.

Ergonomics may include user interactions of various modalities, which may include interaction biometrics or interaction mechanic-metrics. User interaction biometrics may include stable patterns in the user's body or behavior related to interaction or the user's constant patterns that reflect the user's intentions or reactions. Such interaction biometrics may include conversational biometrics, behavioral biometrics, and speech biometrics in domains such as verification, identification or user emotional states. Interaction mechani-metrics are invariants in machine interface in response to the user's interaction with the interface.

In operation, a user connects to the voice processing system to request access to any of a plurality of different applications, including directory assistance, e-commerce, voice-mail, personal information management, database access and the like. The interaction between the user and the voice processing systems may take many forms, including: a remote user dialing into a computerized voice response system, a user speaking in a microphone on a desktop computer connected to a network or a voice processing system in an automobile, a user of portable digital assistants connected to a wireless network, a user as a participant of a meeting with several microphones around the room, or a user of other devices with speech input capability.

The various modalities of the user's interactions with the voice processing system may include interaction biometrics, such as the user's speech pattern, and interaction mechani-metrics, such as a triggering of an event such as the user's selection of a button. Based on the user's interaction, the various applications are accessed by the user, and feedback is provided to the user.

SUMMARY OF THE INVENTION

With the recent progress in voice processing systems, it is desirable to have a voice processing system which may receive a plurality of user input of various modalities. For example, it is desirable to have a voice processing system in which a multimodal request is received from a plurality of modality input devices, and the requested application is run to provide a user with the feedback of the multimodal request.

In accordance with the exemplary aspects of this invention, a multimodal aggregating unit is provided which receives a multimodal input from a plurality of modality input devices, and provides an aggregated result to an application control based on the interpretation of the interaction ergonomics of the multimodal input within the temporal constraints of the multimodal input.

In accordance with these exemplary aspects of this invention, the multimodal input from the user is recognized within a temporal window.

In accordance with the exemplary aspects of this invention, interpretation of the interaction ergonomics of the multimodal input include interpretation of interaction biometrics and interaction mechani-metrics, wherein the interaction input of at least one modality may be used to bring meaning to at least one other input of another modality.

In accordance with the exemplary aspects of this invention, the multimodal input includes one or more of the following modalities or their combination: touch, speech, gestures, eye movements, face direction, and the like.

In accordance with one exemplary aspect of this invention, touch gestures from a first modality input device are aggregated with voice commands from a second modality input device. In accordance with this exemplary aspect, the voice commands provide new meanings for the touch gestures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary speech processing system embodying the exemplary aspects of the present invention.

FIG. 2 shows an exemplary multimodal aggregating unit embodying the exemplary aspects of the present invention.

FIG. 3 shows an exemplary graph in association with a multimodal aggregating unit according to the exemplary aspects of the present invention.

FIG. 4 shows a flowchart of an exemplary method for voice processing in accordance with the exemplary aspects of the present invention

DETAILED DESCRIPTION OF THE INVENTION

The following description details how exemplary aspects of the present invention are employed. Throughout the description of the invention, reference is made to FIGS. 1-4. When referring to the figures, like structures and elements shown throughout are indicated with like reference numerals.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In FIG. 1, an exemplary voice processing system 1000 embodying the exemplary aspects of the present invention is shown. It is initially noted that the voice processing system 1000 of FIG. 1 is presented for illustration purposes only, and is representative of countless configurations in which the exemplary aspects of the present invention may be implemented. Thus, the present invention should not be considered limited to the system configuration shown in the figure.

As shown in FIG. 1, the voice processing system 1000 includes a plurality of modality input devices 100 and 110, a multimodal aggregating unit 200, an application control 300 with database 350, and an output device 400.

It should be appreciated that, in accordance with the exemplary aspects of this invention, the multimodal input of various modalities from the plurality of modality input devices 100 and 110 may include biometrics input and mechani-metrics input, whereby user interaction ergonomics may be provided to adapt to various conditions that suit the user. The modalities from the modality input devices 100 and 110 may include, for example, one or more of touch, speech, gestures, eye movements, face direction, and other modalities whereby data relating to user interaction ergonomics are input. For example, the plurality of modality input devices 100 and 110 include one at least one of a speech recognition device, a touch parameter detector, a touch screen, a microphone, a camera, an eye movement detector, and the like.

In an example, the touch parameter detector may include a detector for detecting stress, duration, movement directions, shapes of trajectories, and the like, associated with the user's touch. Thus, the touch parameter detector may detect stable marks left on a touch screen by a user via touch, such as circles, squares, parts of geometric figures, rings, lines, predetermined and consistency in the touch, such as movement, change appearance, disappearance, or glow of the touch. These touch gestures are not limited to just pointing, but may include a slide of finger across screen to indicate scroll, a more rapid slide to indicate larger real estate to be covered during scrolling, a lateral motion to cancel actions similar to crossing out a line of text, a circling with a finger tip to select an area, thin rings that change color as they expire, and the like. In various exemplary aspects of this invention, a user's screen touch parameters may be indicated using visual feedback, such as the duration of touch, the vertical sliding to change the zoom factor, the horizontal sliding to change type of view, diagonal sliding diagonally to frame a view, a pushing near the corners of the display to pan a view, a changing of the “shape” of the icon underneath the finger to indicate to the user know that the machine understood the meaning of the gesture, and the like.

It should be appreciated that the above described aspects are merely examples set forth to better describe the embodiments of this invention, and that this invention is not limited to the examples set forth above. For example, the modalities input to the voice processing system 1000 may include sounds produced by a system to cause user attention such as a high pitch tone, one or more visual/audio stable behavioral patterns on user display/player, a set of visual/audio patterns changing/appearing/disappearing in predetermined fashion, a set of geometric figures appearing on the display with some time intervals, a set of system mechanical responses that are reflection of user actions on sensors, a set of system mechanical responses that provide information response to users, intrinsic relationship between different mechanic interface modalities, such as time, space, synchronous, asynchronous, constant, and the like.

In operation, input of a first modality is received at the first modality input device 100, while input of a second modality is received at the second modality input device 110. The first modality input device 100 determines whether the request from the input of the first modality calls for applications which require only input of the first modality. If so, the input of the first modality is sent to application control 300, where applications requiring only input of the first modality are run. Else, the input of the first modality is sent to the multimodal aggregating unit 200.

Similarly, the second modality input device 110 determines whether the request from the input of the second modality calls for applications requiring only input of the second modality. If so, the input of the second modality is sent to application control 300, where applications requiring only input of the second modality are run. Else, the input of the second modality is sent to the multimodal aggregating unit 200 to be aggregated with the input of the first modality.

In the multimodal aggregating unit 200, the input from the plurality of modality input devices are aggregated, and the aggregated request is decoded and sent to the application control 300. In the application control 300, the various separate applications are run based on the input of the various modalities and the aggregated multimodal input and data stored in the database 350. That is, based upon the particular arriving task and the requested applications, the request is processed. The application result is output to the output device 400 to be fed back to the user.

As discussed above, though the exemplary embodiment above describes voice processing system 1000 in a particular embodiment, the voice processing system 1000 may be any system known in the art for processing voice. Thus, it is contemplated that the voice processing system 1000 may be configured and may include various topologies and protocols known to those skilled in the art.

For example, it is to be appreciated that though FIG. 1 only shows only two modality input devices, the various exemplary aspects of the present invention is not limited to any particular number of input device.

FIG. 2 shows an exemplary multimodal aggregating unit 200 embodying the exemplary aspects of the present invention. As shown in FIG. 2, the multimodal aggregating unit 200 includes an input unit 220, a decoder 240 including a life cycle determining unit 242, a storage unit 260, and an output unit 280, all connected by bus 295.

In operation, the decoder 240 receives a user multimodal input from the input unit 220, extracts and interprets interaction ergonomics of the input based on data from the storage unit 260 and the temporal constraints of the multimodal input determined by the life cycle determining unit 242, and provides the decoded data to the application control through the output unit 280. That is, temporally constrained multimodal aggregation is performed by the decoder 240, whereby a multimodal input from the user is recognized within a temporal window determined by the life cycle determining unit 242.

In accordance with an exemplary aspect of this invention, the first and second modalities may include interaction mechani-metrics and bio-metrics, whereby user interaction of at least one modality provides meaning to at least one other modality within the temporal constraints of the multimodal input. For example, a voice input may be used to give meaning to a touch input within the temporal window.

Although FIG. 2 shows a particular form of multimodal aggregating unit, it should be understood that other layouts are possible and that the various aspects of the invention are not limited to such layout. That is, it should be understood that the multimodal aggregating unit may include any variation of layout, whereby a plurality of modalities may be aggregated within the temporal constraints of the input according to the various aspects of this invention.

In operation, the decoder 240 receives the plurality of multimodal input from the input unit 220, and determines the life cycle of each input using the life cycle determining unit 242 and data stored in the storage unit 260. Based on the life cycles of the input of the plurality of modalities, the life cycle determining unit 242 determines the temporal constraints of the aggregation of the input, whereby the decoder 240 aggregates the multimodal input and decodes the aggregated result within the temporal window. The decoded result is then output via the output unit 280.

In an exemplary embodiment, an input of a first modality such as a sensed touch event is provided by the input unit 220 to the decoder 240. The life cycle determining unit 242 determines the life cycle of the sensed touch event. The decoder determines whether or not the sensed touch event makes sense and waits for the next modality input to provide meaning to the sensed touch event within the life cycle of the sensed touch event. Next, an input of a second modality such as a speech text input from a speech recognition device is provided by the input unit 220 to the decoder 240. The life cycle determining unit 242 then determines the life cycle of the speech text, whereby the temporal window is determined based on the overlap of the life cycle of the sensed touch event and the life cycle of the speech text. In the temporal window, the two modality input is aggregated, whereby the sensed touch event has been given meaning by the speech text, and the aggregated result is then decoded and output to the output unit 280.

FIG. 3 shows an exemplary graph in association with a multimodal aggregating unit in accordance with the exemplary aspects of this invention. As shown in FIG. 3, a graph is provided of an exemplary temporal constraint of a multimodal input, whereby the life cycle of each modality input is plotted as a function of time. In this exemplary embodiment, a first life cycle 310 represents the life cycle of an exemplary sensed touch event, and a second life cycle 320 represent the life cycle of an exemplary speech text input.

As shown in FIG. 3, at time 0, the sensed touch event is received by the decoder, and the life cycle of the sensed touch event begins, the life cycle being determined based on the data stored in the storage device corresponding to send touch events. Between time t1 and time t2, the speech text input is received by the decoder, and the life cycle of the speech text event is determined based on the data stored in the storage device corresponding to speech text. As shown in FIG. 3, an overlapping region 330 determines the temporal window whereby the aggregation of the plurality of modality input is performed, whereby the aggregated result is decoded and then output to the application control.

Though the exemplary embodiment above describes graph in a particular embodiment, it should be appreciated that the graph may include various layouts known to those skilled in the art. For example, although FIG. 3 depicts a graph of a definite number of life cycles of a definite number of modality input, it should be understood that various layouts may also be applied in the various aspects of the invention, and that the present invention is not limited to the definite number of modality input having the definite number of life cycles.

FIG. 4 shows a flowchart of a method for voice processing according to the various exemplary aspects of the present invention. Beginning at step 4000, control proceeds to step 4100, where an input such as an application request of the first modality is received, and the first life cycle is initialized. Next, in step 4200, in the input is analyzed to determine if the input makes sense. If the input does not make sense, control jumps to step 4700, where the process ends. Else, control proceeds to step 4300 to wait for the second input.

In step 4300, the second modality input is received and the second life cycle is initialized. Next, in step 4400, control determines whether the first life cycle and the second life cycle overlap, and that the combined first modality input and the second modality input make sense. If not, control jumps to step 4700 where the process ends. Else, the second modality input received within the temporal window provides meaning to the first modality input, and control continues to step 4500 where the aggregated multimodal result is decoded. Then, in step 4600, the decoded result is output to the application control whereby the decoded multimodal result is sent to the appropriate applications. Control then continues to step 4700 where the process ends.

In an exemplary embodiment of the present invention, the voice processing system is provided in an automotive vehicle for navigation, whereby the plurality of modality input devices include a speech recognition system with a microphone, and a touch event detector provided on a touch screen.

In this exemplary embodiment, a user such as the driver of the vehicle may press a location of the touch screen. The touch event detector senses that a touch event has occurred. The touch event thus triggers the start of the life cycle for the touch event, whereby the system is provided with an expectation that another input is forthcoming to bring meaning to the touch event within the life cycle of the touch event. The system then waits for the next input.

In this exemplary embodiment, to provide the second input, the user/driver may speak into the microphone the phrase “I want to go there,” whereby the speech recognition device provides the speech text data of the spoken phrase, giving meaning to “there” as the location on the touch screen indicated by the sensed touch event. To bring meaning to the touch event, this speech input must be given within the determined temporal constraints that were determined based on the overlapping of the life cycle of the touch event and the life cycle of the speech text event. That is, the speech text must be received before the sensed touch expires in order to bring meaning to the touch event.

Accordingly, the multimodal aggregating unit analyzes the speech text data with the touch event data within the temporal constraints, whereby the aggregated request is decoded and sent to the application control whereby the application is run based on the decoded request. The feedback is then provided to the driver. For example, the touch screen may display the shortest route from to the location indicated by the driver on the touch screen.

It should be appreciated that the foregoing description of the invention has been presented only for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. Thus, the embodiments disclosed were chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art. 

1-20. (canceled)
 21. A method of processing user input, the method comprising: receiving a first input associated with a first application, wherein the first input has a first modality; determining, using at least one processor, whether the first application accepts only input of the first modality; sending, in response to determining that the first application accepts only input of the first modality, the first input to the first application; and storing the first input in response to determining that the first application does not accept only input of the first modality.
 22. The method of claim 21, further comprising: in response to receiving the first input, performing, by the at least one first application, at least one action based at least in part on the first input.
 23. The method of claim 21, further comprising: receiving a second input associated with the first application, wherein the second input has a second modality that is different from the first modality; and aggregating the stored first input and the second input to obtain an aggregated input.
 24. The method of claim 23, further comprising: decoding the aggregated input to provide a decoded result.
 25. The method of claim 24, further comprising: sending the decoded result to the first application; and in response to receiving the decoded result, performing, by the first application, at least one action based at least in part on the decoded result.
 26. The method of claim 23, further comprising: sending the aggregated input to the first application; and in response to receiving the aggregated input, performing, by the first application, at least one application based at least in part on the aggregated input.
 27. The method of claim 23, wherein aggregating the stored first input and the second input comprises: determining a first life cycle for the first input; determining a second life cycle for the second input; determining whether the first life cycle and the second life cycle overlap in time; and aggregating, in response to determining that the first life cycle and the second life cycle overlap in time, the first input and the second input.
 28. The method of claim 21, wherein the first modality is selected from the group consisting of touch, speech, gestures, eye movements, and face direction.
 29. The method of claim 21, wherein the first modality is touch; and wherein the first input is a touch gesture selected from the group consisting of at least one stable mark left on a touch-sensitive display by a user and a touch movement across the touch-sensitive display.
 30. The method of claim 23, wherein the first modality is a first member selected from the group consisting of touch, speech, gestures, eye movements, and face direction and the second modality is a second member selected from the group consisting of touch, speech, gestures, eye movements, and face direction.
 31. The method of claim 21, wherein the first input is received by a system that includes the at least one processor.
 32. The method of claim 31, wherein the first input is a produced by the system to provide an alert to a user.
 33. The method of claim 32, wherein the first input is selected from the group comprising a tone, one or more visual/audio stable behavioral patterns on a user display, a set of visual/audio patterns changing/appearing/disappearing on the user display in a predetermined fashion, a set of geometric figures appearing on the user display, a system mechanical response that reflects the user's interaction with at least one sensor, and a system mechanical response that provides an information response to a user.
 34. At least one non-transitory computer readable medium encoded with instructions that, when executed by at least one processor, perform a method comprising: receiving a first input associated with a first application, wherein the first input has a first modality; determining whether the first application accepts only input of the first modality; sending, in response to determining that the first application accepts only input of the first modality, the first input to the first application; and storing the first input in response to determining that the first application does not accept only input of the first modality.
 35. An apparatus comprising: at least one processor programmed to: receive a first input associated with a first application, wherein the first input has a first modality; determine whether the first application accepts only input of the first modality; send, in response to determining that the first application accepts only input of the first modality, the first input to the first application; and store the first input in response to determining that the first application does not accept only input of the first modality. 